<?php
if(isset($keyword) && $keyword != '') {
    $db_tags = new db_query('SELECT new_id,new_title,new_teaser,new_picture,new_cat_id,new_date,new_tags,
                                    cat_id,cat_name 
                                    FROM news 
                                    LEFT JOIN categories_multi ON cat_id = new_cat_id 
                                    WHERE new_tags LIKE "%,'.$keyword.',%" OR new_tags LIKE "%'.$keyword.',%" OR new_tags LIKE "%,'.$keyword.'%"
                                    ORDER BY new_date DESC
                                    LIMIT 48'); 
    $list_news_tags = $db_tags->resultArray();
    unset($db_tags);
}else {
    $tags_cache = $_SERVER['DOCUMENT_ROOT'].'/cache/tags.cache';
    if(!file_exists($tags_cache)){
        $db_list_news = new db_query('SELECT new_id,new_tags 
                                            FROM news
                                            WHERE new_tags != ""
                                            LIMIT 500');
        $list_news = $db_list_news->resultArray();unset($db_list_news); 
        $arr_tags = array(); 
        $arr_tags_intersect = array();
        $arr_tags_all = array(); 
        foreach($list_news as $news) {
            $arr_tags_item = explode(',',$news['new_tags']);
            //Tất cả các tags
            $arr_tags = array_unique(array_merge($arr_tags,$arr_tags_item));
            //Những tags trùng lặp trong vòng này
            $arr_tags_intersect = array_intersect($arr_tags,$arr_tags_item);
            //Lưu tags là key vào mảng $arr_tags_all và tăng level(giá trị của key - số lần hiển thị)
            foreach($arr_tags_intersect as $t) {
                if(!isset($arr_tags_all[$t])) {
                    $arr_tags_all[$t] = 1;
                }else {
                    $arr_tags_all[$t] += 1;
                }
            }
        }
        //Xóa các tags key có level(số lần hiển thị = 1,2,3) vì nó hiển thị ít => không quan trọng
        $arr_tags_all = array_diff($arr_tags_all,array('1','2','3'));
        //echo '<pre>';
        //print_r($arr_tags_all);
        //echo '</pre>';
        //die();
        $tags = json_encode($arr_tags_all);
        file_put_contents($tags_cache,$tags);    
    }else{
        $arr_tags_all = json_decode(file_get_contents($tags_cache),1);
    }
}
?>